package org.baiyun.kaka.api.action;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.baiyun.kaka.entity.User;
import org.baiyun.kaka.entity.Vip;
import org.baiyun.kaka.service.IUserService;
import org.baiyun.kaka.service.IVipService;

public class UserAction {
	//需要生成outlist的set和get方法
    private List<User> outList;

    public List<User> getOutList() {
		return outList;
	}

	public void setOutList(List<User> outList) {
		this.outList = outList;
	}
	/*public List<User> getOutlist() {
		return outList;
	}
	public void setOutlist(List<User> outlist) {
		this.outList = outlist;
	}*/
	//定义vipService,并且要生成它的get和set方法
    //struts2会自动的调用set方法把创建好的vipService给它添加到这里
    //注意，这里的vipService的名称一定要跟VipServiceImpl的注解里面的名称保持一致
	//设置vip的get和set方法
	public IUserService userService;

	public IUserService getUserService() {
		return userService;
	}

	public void setUserService(IUserService userService) {
		this.userService = userService;
	}
	
	
	private User outUser;

	public User getOutUser() {
		return outUser;
	}

	public void setOutUser(User outUser) {
		this.outUser = outUser;
	}
	
	
	private User user = new User();
	
	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}

	//用来查询vip列表的方法
	public String list() //查询全部数据
	{
		//把Service的查询结果写到action的outList的属性上面
		outList=userService.findAll();
		
		BeanUtil.wrapperOutPut(map, outList);
		/*if (outList!=null) {
			map.put("code", 1);
			map.put("msg", "");
			map.put("data", outList);
		}else {
				map.put("code", 0);
				map.put("msg", "系统中不存在这个数据");
		}*/
		return "success";
	}
	
	public String get() {  //查询单个数据
		outUser = userService.get(user.getId());
		
		BeanUtil.wrapperOutPut(map, outUser);
		/*if (outVip!=null) {
			map.put("code", 1);
			map.put("msg", "");
			map.put("data", outVip);
		}else {
			map.put("code", 0);
			map.put("msg", "系统中不存在这个数据");
		}*/
		
		return "success";
	}
	
	public String save() {  //增加数据
		Integer ret=userService.save(user);
		BeanUtil.wrapperOutPut(map, ret, "增加失败,请重试！");
		return "success";
	}
	
	public String delete() {  //删除数据
		boolean ret=userService.delete(user.getId());
		BeanUtil.wrapperOutPut(map, ret, "系统中不存在这个数据");
		/*if (ret==true) {
			map.put("code", 1);
			map.put("msg", "");
		}else {
			map.put("code", 0);
			map.put("msg", "系统中不存在这个数据");
		}*/
		return "success";
	}
	
	public String update() {  //修改信息
		boolean ret = userService.update(user);
		BeanUtil.wrapperOutPut(map, ret, "系统中不存在这个数据");
		
		/*if (ret==true) {
			map.put("code", 1);
			map.put("msg", "");
		}else {
			map.put("code", 0);
			map.put("msg", "系统中不存在这个数据");
		}*/
		
		return "success";
	}

	private Map<String, Object> map = new HashMap<String, Object>();//定义了一个用于组装返回数据的hash表
    //get set 方法
	public Map<String, Object> getMap() {
		return map;
	}

	public void setMap(Map<String, Object> map) {
		this.map = map;
	}
}
